home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dlahrd.z / dlahrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAAHHHHRRRRDDDD((((3333FFFF))))                                                          DDDDLLLLAAAAHHHHRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLAHRD - reduce the first NB columns of a real general n-by-(n-k+1)
  10.      matrix A so that elements below the k-th subdiagonal are zero
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DLAHRD( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
  14.  
  15.          INTEGER        K, LDA, LDT, LDY, N, NB
  16.  
  17.          DOUBLE         PRECISION A( LDA, * ), T( LDT, NB ), TAU( NB ), Y(
  18.                         LDY, NB )
  19.  
  20. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  21.      DLAHRD reduces the first NB columns of a real general n-by-(n-k+1) matrix
  22.      A so that elements below the k-th subdiagonal are zero. The reduction is
  23.      performed by an orthogonal similarity transformation Q' * A * Q. The
  24.      routine returns the matrices V and T which determine Q as a block
  25.      reflector I - V*T*V', and also the matrix Y = A * V * T.
  26.  
  27.      This is an auxiliary routine called by DGEHRD.
  28.  
  29.  
  30. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  31.      N       (input) INTEGER
  32.              The order of the matrix A.
  33.  
  34.      K       (input) INTEGER
  35.              The offset for the reduction. Elements below the k-th subdiagonal
  36.              in the first NB columns are reduced to zero.
  37.  
  38.      NB      (input) INTEGER
  39.              The number of columns to be reduced.
  40.  
  41.      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N-K+1)
  42.              On entry, the n-by-(n-k+1) general matrix A.  On exit, the
  43.              elements on and above the k-th subdiagonal in the first NB
  44.              columns are overwritten with the corresponding elements of the
  45.              reduced matrix; the elements below the k-th subdiagonal, with the
  46.              array TAU, represent the matrix Q as a product of elementary
  47.              reflectors. The other columns of A are unchanged. See Further
  48.              Details.  LDA     (input) INTEGER The leading dimension of the
  49.              array A.  LDA >= max(1,N).
  50.  
  51.      TAU     (output) DOUBLE PRECISION array, dimension (NB)
  52.              The scalar factors of the elementary reflectors. See Further
  53.              Details.
  54.  
  55.      T       (output) DOUBLE PRECISION array, dimension (NB,NB)
  56.              The upper triangular matrix T.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAAHHHHRRRRDDDD((((3333FFFF))))                                                          DDDDLLLLAAAAHHHHRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDT     (input) INTEGER
  75.              The leading dimension of the array T.  LDT >= NB.
  76.  
  77.      Y       (output) DOUBLE PRECISION array, dimension (LDY,NB)
  78.              The n-by-nb matrix Y.
  79.  
  80.      LDY     (input) INTEGER
  81.              The leading dimension of the array Y. LDY >= N.
  82.  
  83. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  84.      The matrix Q is represented as a product of nb elementary reflectors
  85.  
  86.         Q = H(1) H(2) . . . H(nb).
  87.  
  88.      Each H(i) has the form
  89.  
  90.         H(i) = I - tau * v * v'
  91.  
  92.      where tau is a real scalar, and v is a real vector with
  93.      v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in A(i+k+1:n,i),
  94.      and tau in TAU(i).
  95.  
  96.      The elements of the vectors v together form the (n-k+1)-by-nb matrix V
  97.      which is needed, with T and Y, to apply the transformation to the
  98.      unreduced part of the matrix, using an update of the form:  A := (I -
  99.      V*T*V') * (A - Y*V').
  100.  
  101.      The contents of A on exit are illustrated by the following example with n
  102.      = 7, k = 3 and nb = 2:
  103.  
  104.         ( a   h   a   a   a )
  105.         ( a   h   a   a   a )
  106.         ( a   h   a   a   a )
  107.         ( h   h   a   a   a )
  108.         ( v1  h   a   a   a )
  109.         ( v1  v2  a   a   a )
  110.         ( v1  v2  a   a   a )
  111.  
  112.      where a denotes an element of the original matrix A, h denotes a modified
  113.      element of the upper Hessenberg matrix H, and vi denotes an element of
  114.      the vector defining H(i).
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.